﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SOAPServices.Persistencia;
using SOAPServices.Dominio;

namespace SOAPServices
{
    public class Usuarios : IUsuarios
    {
        private UsuarioDAO asuarioDAO = null;
        private UsuarioDAO UsuarioDAO
        {
            get
            {
                if (asuarioDAO == null)
                    asuarioDAO = new UsuarioDAO();
                return asuarioDAO;
            }
        }

        public Usuario CrearUsuario(string nombre, string cargo, char estado)
        {
            //Sede sedeExistente = SedeDAO.Obtener(sede);
            Usuario usuarioACrear = new Usuario()
            {
                Nombre = nombre,
                Cargo = cargo,
                Estado = estado
            };
            return UsuarioDAO.Crear(usuarioACrear);
        }

        public Usuario ObtenerUsuario(int codigo)
        {
            return UsuarioDAO.Obtener(codigo);
        }

        public Usuario ModificarUsuario(int codigo, string nombre, string cargo, char estado)
        {
            //Sede sedeExistente = SedeDAO.Obtener(sede);
            Usuario usuarioAModificar = new Usuario()
            {
                Codigo = codigo,
                Nombre = nombre,
                Cargo = cargo,
                Estado = estado
            };
            return UsuarioDAO.Modificar(usuarioAModificar);
        }

        public void EliminarUsuario(int codigo)
        {
            Usuario usuarioExistente = UsuarioDAO.Obtener(codigo);
            UsuarioDAO.Eliminar(usuarioExistente);
        }

        public List<Usuario> ListarUsuario()
        {
            return UsuarioDAO.ListarTodos().ToList();
        }
    }
}
